73 research outputs found

    PAEAN : portable and scalable runtime support for parallel Haskell dialects

    Get PDF
    Over time, several competing approaches to parallel Haskell programming have emerged. Different approaches support parallelism at various different scales, ranging from small multicores to massively parallel high-performance computing systems. They also provide varying degrees of control, ranging from completely implicit approaches to ones providing full programmer control. Most current designs assume a shared memory model at the programmer, implementation and hardware levels. This is, however, becoming increasingly divorced from the reality at the hardware level. It also imposes significant unwanted runtime overheads in the form of garbage collection synchronisation etc. What is needed is an easy way to abstract over the implementation and hardware levels, while presenting a simple parallelism model to the programmer. The PArallEl shAred Nothing runtime system design aims to provide a portable and high-level shared-nothing implementation platform for parallel Haskell dialects. It abstracts over major issues such as work distribution and data serialisation, consolidating existing, successful designs into a single framework. It also provides an optional virtual shared-memory programming abstraction for (possibly) shared-nothing parallel machines, such as modern multicore/manycore architectures or cluster/cloud computing systems. It builds on, unifies and extends, existing well-developed support for shared-memory parallelism that is provided by the widely used GHC Haskell compiler. This paper summarises the state-of-the-art in shared-nothing parallel Haskell implementations, introduces the PArallEl shAred Nothing abstractions, shows how they can be used to implement three distinct parallel Haskell dialects, and demonstrates that good scalability can be obtained on recent parallel machines.PostprintPeer reviewe

    The burden of mental disorders, substance use disorders and self-harm among young people in Europe, 1990-2019 : Findings from the Global Burden of Disease Study 2019

    Get PDF
    Background Mental health is a public health issue for European young people, with great heterogeneity in resource allocation. Representative population-based studies are needed. The Global Burden of Disease (GBD) Study 2019 provides internationally comparable information on trends in the health status of populations and changes in the leading causes of disease burden over time. Methods Prevalence, incidence, Years Lived with Disability (YLDs) and Years of Life Lost (YLLs) from mental disorders (MDs), substance use disorders (SUDs) and self-harm were estimated for young people aged 10-24 years in 31 European countries. Rates per 100,000 population, percentage changes in 1990-2019, 95% Uncertainty Intervals (UIs), and correlations with Sociodemographic Index (SDI), were estimated. Findings In 2019, rates per 100,000 population were 16,983 (95% UI 12,823 - 21,630) for MDs, 3,891 (3,020 4,905) for SUDs, and 89.1 (63.8 - 123.1) for self-harm. In terms of disability, anxiety contributed to 647.3 (432 -912.3) YLDs, while in terms of premature death, self-harm contributed to 319.6 (248.9-412.8) YLLs, per 100,000 population. Over the 30 years studied, YLDs increased in eating disorders (14.9%;9.4-20.1) and drug use disorders (16.9%;8.9-26.3), and decreased in idiopathic developmental intellectual disability (-29.1%;23.8-38.5). YLLs decreased in self-harm (-27.9%;38.3-18.7). Variations were found by sex, age-group and country. The burden of SUDs and self-harm was higher in countries with lower SDI, MDs were associated with SUDs. Interpretation Mental health conditions represent an important burden among young people living in Europe. National policies should strengthen mental health, with a specific focus on young people. Funding The Bill and Melinda Gates Foundation Copyright (C) 2022 The Author(s). Published by Elsevier Ltd. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/)Peer reviewe

    Determination of nutrient salts by automatic methods both in seawater and brackish water: the phosphate blank

    Get PDF
    9 páginas, 2 tablas, 2 figurasThe main inconvenience in determining nutrients in seawater by automatic methods is simply solved: the preparation of a suitable blank which corrects the effect of the refractive index change on the recorded signal. Two procedures are proposed, one physical (a simple equation to estimate the effect) and the other chemical (removal of the dissolved phosphorus with ferric hydroxide).Support for this work came from CICYT (MAR88-0245 project) and Conselleria de Pesca de la Xunta de GaliciaPeer reviewe

    Burden of non-communicable diseases among adolescents aged 10–24 years in the EU, 1990–2019: a systematic analysis of the Global Burden of Diseases Study 2019

    Get PDF
    Background Disability and mortality burden of non-communicable diseases (NCDs) have risen worldwide; however, the NCD burden among adolescents remains poorly described in the EU. Methods Estimates were retrieved from the Global Burden of Diseases, Injuries, and Risk Factors Study (GBD) 2019. Causes of NCDs were analysed at three different levels of the GBD 2019 hierarchy, for which mortality, years of life lost (YLLs), years lived with disability (YLDs), and disability-adjusted life-years (DALYs) were extracted. Estimates, with the 95% uncertainty intervals (UI), were retrieved for EU Member States from 1990 to 2019, three age subgroups (10–14 years, 15–19 years, and 20–24 years), and by sex. Spearman's correlation was conducted between DALY rates for NCDs and the Socio-demographic Index (SDI) of each EU Member State. Findings In 2019, NCDs accounted for 86·4% (95% uncertainty interval 83·5–88·8) of all YLDs and 38·8% (37·4–39·8) of total deaths in adolescents aged 10–24 years. For NCDs in this age group, neoplasms were the leading causes of both mortality (4·01 [95% uncertainty interval 3·62–4·25] per 100 000 population) and YLLs (281·78 [254·25–298·92] per 100 000 population), whereas mental disorders were the leading cause for YLDs (2039·36 [1432·56–2773·47] per 100 000 population) and DALYs (2040·59 [1433·96–2774·62] per 100 000 population) in all EU Member States, and in all studied age groups. In 2019, among adolescents aged 10–24 years, males had a higher mortality rate per 100 000 population due to NCDs than females (11·66 [11·04–12·28] vs 7·89 [7·53–8·23]), whereas females presented a higher DALY rate per 100 000 population due to NCDs (8003·25 [5812·78–10 701·59] vs 6083·91 [4576·63–7857·92]). From 1990 to 2019, mortality rate due to NCDs in adolescents aged 10–24 years substantially decreased (–40·41% [–43·00 to –37·61), and also the YLL rate considerably decreased (–40·56% [–43·16 to –37·74]), except for mental disorders (which increased by 32·18% [1·67 to 66·49]), whereas the YLD rate increased slightly (1·44% [0·09 to 2·79]). Positive correlations were observed between DALY rates and SDIs for substance use disorders (rs=0·58, p=0·0012) and skin and subcutaneous diseases (rs=0·45, p=0·017), whereas negative correlations were found between DALY rates and SDIs for cardiovascular diseases (rs=–0·46, p=0·015), neoplasms (rs=–0·57, p=0·0015), and sense organ diseases (rs=–0·61, p=0·0005)

    Explicit and implicit parallel functional programming : concepts and implementation

    Get PDF
    This thesis investigates the relation between the two conflicting goals of explicitness and abstraction, for the implementation of parallel functional languages and skeletons. Necessary and useful coordination features for implementing parallel coordination in a functional implementation language will be identified, leading to the proposal of a Haskell extension for explicit low-level coordination, and to a concept of structuring implementations for parallel functional languages in layers of increasing abstraction. The first main part concentrates on implementation techniques and requirements. We are describing the layered implementation of the parallel functional language Eden, pointing out advantages of its layer structure and deriving the coordination features of the proposed explicit low-level language, named EdI. Subsequently, the presented implementation concept is generalised to the design and a prototype implementation of a generic parallel runtime system for management of parallel functional computations, major parts of which are encoded in Haskell. In a second main part, we concentrate on implementations of parallel skeletons, thereby investigating expressiveness and pragmatics of the proposed low-level language EdI in comparison to the language Eden. Exemplarily, a range of implementations is presented for data parallel skeletons implementing map, map-reduce, and the Google-MapReduce programming model. Furthermore, we present and discuss a new skeleton category: topology skeletons, which describe interaction and communication patterns in regularly structured process networks. In a broader context, the implementation concepts and skeleton implementations which we present underline that functional languages provide a suitable abstraction level to reason about parallel programming and to circumvent its complexity

    Visualizing Parallel Functional Program Runs: Case Studies with the Eden Trace Viewer

    Get PDF

    Orthogonal serialisation for Haskell

    No full text

    Dynamic Chunking in Eden

    No full text
    Abstract. Parallel programming generally requires awareness of the granularity and communication requirements of parallel subtasks, since without precaution, the overhead for parameter and result communication may outweigh the gain of parallel processing. While this problem is often solved explicitly at the language level, it can also be alleviated by optimising message passing mechanisms in the runtime environment. We describe how a simple buffering mechanism introduces dynamic list chunking in the runtime environment of the parallel functional language Eden. We discuss design and implementation aspects of dynamic chunking and compare its effects to the original version in a set of measurements. Our optimisation is justified by a simple cost model, measurements analyse the overhead and illustrate the impact of the changed message passing mechanism.
    corecore